import Common from '../../common/common.js';
let common = new Common;
const app = getApp()
Page({
  data: {
    active: 1,//1今日 2本周 3本月 4本年
    memberType: 1,//1 新增会员未下单 2已流失会员 
    receivedMoney: 0.00,//成交金额
    payNum: 0,//订单数
    memberCnt: 0,//订单会员数
    perMemberMoney: 0.00,//客单价 
    returnNum: 0, //退单数 
    returnMoney: 0.00,//退款额
    salesRankingList: [],//成交金额情况列表
    shopGoodsWarnList: [],//门店预警列表
    allMemberCnt: 0,//总会员数
    newMemberCnt: 0,//新增会员数
    payMemberCnt: 0,//下单会员数
    loseMemberList: [],// 新增会员未下单
    unorderAndnewMemberList: [], //已流失会员
    memberList: [],// 会员列表
    size: '3', //每页显示5条数据
    pageDeal: 1,//默认页码1 成交情况
    pageMemberAdd: 1,//默认页码1 会员情况新增
    pageMemberLose: 1,//默认页码1 会员情况流失
    pageStock: 1,//默认页码1 库存预警
    totalLose: 0,
    totalAdd: 0,
    goodsWarnTotal: 0,//库存预警
    topNum: 0,
    typeIndex: 0,
  },
  // 跳转修改库存 
  todetial: function (e) {
    let overallData = 1; //进入库存编辑页面 
    let item = JSON.stringify(e.currentTarget.dataset.item)
    wx.navigateTo({
      url: '/pages/inventoryMgt/editInventory/editInventory?jsonStr=' + item  + '&overallData=' + overallData,
    }) 
  },
  onLoad: function (options) {
    this.setData({
      typeIndex: options.typeIndex,//从首页进入
    })
    this.queryShopTotalInfo() //门店统计信息信息（成交情况）
    this.queryShopGoodsTopList()//成交金额情况列表
    // this.queryShopGoodsWarnList()//门店预警列表
    this.queryShopMemberTradeInfo()// 门店会员订单统计数据
    this.unorderAndnewMemberListByPage()//会员情况 新增 
  },
  onShow: function () {
    this.setData({
      pageStock: 1,
      typeIndex: 1,
      shopGoodsWarnList: []
    })
    this.queryShopGoodsWarnList()//门店预警列表
  },
  // 成交情况信息
  queryShopTotalInfo: function () {
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    });
    let data = {
      "orgSeq": app.globalData.orgSeq,//必传，门店编码
      "timeType": this.data.active//可选，默认为1，1今日、2本周、3本月、4本年
    }
    common.requestAjax('/api/trade-service/v1/tradeInfo/queryShopTotalInfo', 'POST', data).then(res => {
      if (res.data.code == 1) {
        wx.hideToast();
        this.setData({
          receivedMoney: Number(res.data.result.receivedMoney),//成交金额
          payNum: res.data.result.payNum,//订单数
          memberCnt: res.data.result.memberCnt,//订单会员数
          perMemberMoney: res.data.result.perMemberMoney,//客单价 
          returnNum: res.data.result.returnNum,//退单数  
          returnMoney: Number(res.data.result.returnMoney) //退单金额  
        })
      } else {
        common.showToast(res.data.message)
      }
    }).catch(err => {
      console.log(err);
    })
  },
  // 成交情况列表
  queryShopGoodsTopList: function () {
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    });
    let data = {
      "size": this.data.size,
      "current": this.data.pageDeal,
      "condition": {
        "orgSeq": app.globalData.orgSeq,//必传，门店编码
        "timeType": this.data.active//可选，默认为1，1今日、2本周、3本月、4本年
      }
    }
    common.requestAjax('/api/trade-service/v1/tradeInfo/queryShopGoodsTopListByPage', 'POST', data).then(res => {
      if (res.data.code == 1) {
        wx.hideToast();
        let arraylist = this.data.salesRankingList || [];
        arraylist = arraylist.concat(res.data.records);
        setTimeout(() => {
          wx.hideLoading()
        }, 500)
        this.setData({
          salesRankingList: arraylist,
          salesRankingTotal: res.data.total,//成交情况总长度
        })
        // 没有更多了
        if (this.data.pageDeal > 1 && res.data.records < this.data.size) {
          common.showToast("没有更多了~");
        }
      }
    }).catch(err => {
      console.log(err);
    })
  },
  // 成交情况列表加载更多
  dealListMore: function () {
    this.setData({
      pageDeal: Number(this.data.pageDeal) + 1
    })
    this.queryShopGoodsTopList()
    wx.showLoading({
      title: '正在加载中...',
    })
  },
  // 库存预警列表
  queryShopGoodsWarnList: function () {
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    });
    let data = {
      "size": this.data.size,
      "current": this.data.pageStock,
      "condition": {
        "orgSeq": app.globalData.orgSeq,//必传，门店编码
        "timeType": this.data.active//可选，默认为1，1今日、2本周、3本月、4本年
      }
    }
    common.requestAjax('/api/trade-service/v1/tradeInfo/queryShopGoodsWarnListByPage', 'POST', data).then(res => {
      if (res.data.code == 1) {
        wx.hideLoading()
        let arraylist = this.data.shopGoodsWarnList || [];
        arraylist = arraylist.concat(res.data.records);
        this.setData({
          shopGoodsWarnList: arraylist,
          goodsWarnTotal: res.data.total
        })
        // 没有更多了
        if (this.data.pageStock > 1 && res.data.records < this.data.size) {
          common.showToast("没有更多了~");
        }
      }
    }).catch(err => {
      console.log(err);
    })
  },
  // 库存预警列表加载更多
  warnListMore: function () {
    this.setData({
      pageStock: Number(this.data.pageStock) + 1
    })
    this.queryShopGoodsWarnList()
    wx.showLoading({
      title: '正在加载中...',
    })
  },
  // 会员情况头部  
  queryShopMemberTradeInfo: function () {
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    });
    let data = {
      "orgSeq": app.globalData.orgSeq,//必传，门店编码 
      "timeType": this.data.active,//可选，默认为1，1今日、2本周、3本月、4本年
    }
    common.requestAjax('/api/member-service/v1/memberTrade/queryShopMemberTradeTotalInfo', 'POST', data).then(res => {
      if (res.data.code == 1) {
        wx.hideToast();
        this.setData({
          allMemberCnt: res.data.result.allMemberCnt,//总会员数
          newMemberCnt: res.data.result.newMemberCnt,//新增会员数
          payMemberCnt: res.data.result.payMemberCnt,//下单会员数  
          totalLose: res.data.result.unorderAndnewMemberCnt, //新增会员未下单会员数
          totalAdd: res.data.result.loseMemberCnt,//流失会员数
        })
      }
    }).catch(err => {
      console.log(err);
    })
  },
  // 会员情况 新增会员列表 
  unorderAndnewMemberListByPage: function () {
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    });
    let data = {
      "size": this.data.size,
      "current": this.data.pageMemberAdd,
      "condition": {
        "orgSeq": app.globalData.orgSeq,//必传，门店编码
        "timeType": this.data.active//可选，默认为1，1今日、2本周、3本月、4本年
      }
    }
    common.requestAjax('/api/member-service/v1/memberTrade/queryUnorderAndnewMemberListByPage', 'POST', data).then(res => {
      if (res.data.code == 1) {
        wx.hideToast();
        let arraylist = this.data.memberList || [];
        arraylist = arraylist.concat(res.data.records);
        setTimeout(() => {
          wx.hideLoading()
        }, 500)
        this.setData({
          memberList: arraylist,
          MemberTotal: this.data.totalLose
        })
        // 没有更多了
        if (this.data.pageMemberAdd > 1 && res.data.records < this.data.size) {
          common.showToast("没有更多了~");
        }
      }
    }).catch(err => {
      console.log(err);
    })
  },
  // 会员情况 流失会员列表 
  loseMemberListByPage: function () {
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    });
    let data = {
      "size": this.data.size,
      "current": this.data.pageMemberLose,
      "condition": {
        "orgSeq": app.globalData.orgSeq,//必传，门店编码
        "timeType": this.data.active//可选，默认为1，1今日、2本周、3本月、4本年
      }
    }
    common.requestAjax('/api/member-service/v1/memberTrade/queryLoseMemberListByPage', 'POST', data).then(res => {
      if (res.data.code == 1) {
        wx.hideToast();
        let arraylist = this.data.memberList || [];
        arraylist = arraylist.concat(res.data.records);
        setTimeout(() => {
          wx.hideLoading()
        }, 500)
        this.setData({
          memberList: arraylist,
          MemberTotal: this.data.totalAdd
        })
        // 没有更多了
        if (this.data.pageMemberLose > 1 && res.data.records < this.data.size) {
          common.showToast("没有更多了~");
        }
      }
    }).catch(err => {
      console.log(err);
    })
  },
  // 会员情况 新增会员列表加载更多
  memberMore: function () {
    wx.showLoading({
      title: '正在加载中...',
    })
    if (this.data.memberType == 1) {
      this.setData({
        pageMemberAdd: Number(this.data.pageMemberAdd) + 1,
      })
      this.unorderAndnewMemberListByPage()//会员情况 新增 
    } else {
      this.setData({
        pageMemberLose: Number(this.data.pageMemberLose) + 1,
      })
      this.loseMemberListByPage()//会员情况流失 
    }
  },
  // 头部导航切换1今日 2本周 3本月 4本年
  dateChage(e) {
    this.setData({
      active: e.currentTarget.dataset.active, //active:1,//1今日 2本周 3本月 4本年
      salesRankingList: [],// 成交情况列表
      shopGoodsWarnList: [],//库存预警列表   
      memberList: [],//会员情况列表
      pageDeal: 1,//默认页码1 成交情况
      pageMemberAdd: 1,//默认页码1 会员情况新增
      pageMemberLose: 1,//默认页码1 会员情况流失
      pageStock: 1,//默认页码1 库存预警
    })
    this.goTop()//回到顶部
    this.queryShopTotalInfo() //门店统计信息信息（成交情况）
    this.queryShopGoodsTopList()//成交金额情况列表
    this.queryShopGoodsWarnList()//门店预警列表
    this.queryShopMemberTradeInfo()// 门店会员订单统计数据
    if (this.data.memberType == 1) {
      this.unorderAndnewMemberListByPage()//会员情况 新增 
    } else {
      this.loseMemberListByPage()//会员情况流失 
    }
  },
  // 新增会员  已流失会员切换
  memberListChange(e) {
    this.setData({
      memberType: e.currentTarget.dataset.active,
      memberList: [],//会员列表置空
      pageMemberAdd: 1,//默认页码1 会员情况新增
      pageMemberLose: 1,//默认页码1 会员情况流失
    })
    //1 新增会员未下单 2已流失会员
    if (this.data.memberType == 1) {
      this.unorderAndnewMemberListByPage()//会员情况 新增 
    } else {
      this.loseMemberListByPage()//会员情况流失 
    }
  },
  // 全部销售数据
  orderTo: function (e) {
    let type = e.currentTarget.dataset.type;
    let routeUrl = '/pages/orderMgt/index';
    let routeType = 'navigateTo';
    let params = '?type=' + type;
    common.routeLink(routeUrl, params, routeType)
  },
  // 管理页面
  rightsManagement: function () {
    wx.navigateTo({
      url: '/pages/rightsMgt/rootEmployees/rootEmployees?accessMode=' + 1,
    })
  },
  //  库存管理页面    
  inventoryMgt: function () {
    wx.navigateTo({
      url: '/pages/inventoryMgt/index',
    })
  },
  //回到顶部
  goTop: function (e) {  // 一键回到顶部 
    if (wx.pageScrollTo) {
      wx.pageScrollTo({
        scrollTop: 0
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
})